package com.ultrasoft.farmasoft.service;

import java.util.List;

import com.ultrasoft.farmasoft.domain.Country;
import com.ultrasoft.farmasoft.domain.Locality;
import com.ultrasoft.farmasoft.domain.Pharmacy;
import com.ultrasoft.farmasoft.domain.Pharmacystock;
import com.ultrasoft.farmasoft.domain.Provider;
import com.ultrasoft.farmasoft.domain.Providerpharmacy;
import com.ultrasoft.farmasoft.domain.Region;
import com.ultrasoft.farmasoft.domain.Stock;

public interface CustomersService {
	
	public void addProviderPharmacy(Providerpharmacy providerPharmacy);
	
	
	public void addProvider(Provider provider);	
	
	
    public Country searchCountryByCountryId(Short countryId); 
	public List<Country> getListCountry();
	
	
	public List<Region> getListRegion(short countryId);
	public List<Region> getListRegionByCountryIdInLocality(short countryId);
	public Region searchRegionByRegionId(Integer regionId);

	
	public List<Locality> getListLocalityByRegionIdByActive(Integer regionId,boolean active);
	public Locality searchLocalityByRegionIdByLocalityId(Integer regionId ,Short localityId);
	
	
	public List<Pharmacy> getListPharmacy();
	public List<Pharmacy> getListPharmacyByPhapharmacyIdNull(boolean active);
	public List<Pharmacy> getListPharmacy(boolean active);
	public List<Pharmacy> getListPharmacy(Integer regionId);
	public List<Pharmacy> getListPharmacy(Integer regionId,boolean active);
    public Pharmacy searchPharmacyByPharmacyId(Integer pharmacyId);
	public List<Pharmacy> getListPharmacyByPharmacyId(Integer pharmacyId,boolean active);
    public void updatePharmacy(Pharmacy pharmacy); 
    public void removePharmacy(Pharmacy pharmacy);    
    public void addPharmacy(Pharmacy pharmacy);
    
      
    public void addStock(Stock stock);
    
    
    public List<Pharmacystock> getListPharmacyStock();
	public List<Pharmacystock> getListPharmacyStockByPharmacyId(Integer pharmacyId);
	public List<Pharmacystock> getListPharmacyStockByStockId(Integer stockId);
	public Pharmacystock searchPharmacyStockByPharmacyIdByStockId(Integer pharmacyId,Integer stockId);					
    public void updatePharmacyStock(Pharmacystock pharmacyStock);
    public void removePharmacyStock(Pharmacystock pharmacyStock);
	public void addPharmacyStock(Pharmacystock pharmacyStock);
}
